battmon2 2.2.1
Loading...
Searching...
No Matches
battmon2.h File Reference

This file contains API for BATT-MON 2 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  battmon2_t
 BATT-MON 2 Click context object. More...
struct  battmon2_cfg_t
 BATT-MON 2 Click configuration object. More...

Macros

#define BATTMON2_REG_STATUS   0x00
 BATT-MON 2 Register Map.
#define BATTMON2_REG_V_ALRT_TH   0x01
#define BATTMON2_REG_T_ALRT_TH   0x02
#define BATTMON2_REG_S_ALRT_TH   0x03
#define BATTMON2_REG_AT_RATE   0x04
#define BATTMON2_REG_REP_CAP   0x05
#define BATTMON2_REG_REP_SOC   0x06
#define BATTMON2_REG_AGE   0x07
#define BATTMON2_REG_TEMP   0x08
#define BATTMON2_REG_V_CELL   0x09
#define BATTMON2_REG_CURRENT   0x0A
#define BATTMON2_REG_AVG_CURRENT   0x0B
#define BATTMON2_REG_Q_RESIDUAL   0x0C
#define BATTMON2_REG_MIX_SOC   0x0D
#define BATTMON2_REG_AV_SOC   0x0E
#define BATTMON2_REG_MIX_CAP   0x0F
#define BATTMON2_REG_FULL_CAP_REP   0x10
#define BATTMON2_REG_TTE   0x11
#define BATTMON2_REG_QR_TABLE_00   0x12
#define BATTMON2_REG_FULL_SOC_THR   0x13
#define BATTMON2_REG_R_CELL   0x14
#define BATTMON2_REG_AVG_TA   0x16
#define BATTMON2_REG_CYCLES   0x17
#define BATTMON2_REG_DESIGN_CAP   0x18
#define BATTMON2_REG_AVG_V_CELL   0x19
#define BATTMON2_REG_MAX_MIN_TEMP   0x1A
#define BATTMON2_REG_MAX_MIN_VOLT   0x1B
#define BATTMON2_REG_MAX_MIN_CURR   0x1C
#define BATTMON2_REG_CONFIG   0x1D
#define BATTMON2_REG_I_CHG_TERM   0x1E
#define BATTMON2_REG_AV_CAP   0x1F
#define BATTMON2_REG_TTF   0x20
#define BATTMON2_REG_DEV_NAME   0x21
#define BATTMON2_REG_QR_TABLE_10   0x22
#define BATTMON2_REG_FULL_CAP_NOM   0x23
#define BATTMON2_REG_AIN   0x27
#define BATTMON2_REG_LEARN_CFG   0x28
#define BATTMON2_REG_FILTER_CFG   0x29
#define BATTMON2_REG_RELAX_CFG   0x2A
#define BATTMON2_REG_MISC_CFG   0x2B
#define BATTMON2_REG_T_GAIN   0x2C
#define BATTMON2_REG_T_OFF   0x2D
#define BATTMON2_REG_C_GAIN   0x2E
#define BATTMON2_REG_C_OFF   0x2F
#define BATTMON2_REG_QR_TABLE_20   0x32
#define BATTMON2_REG_DIE_TEMP   0x34
#define BATTMON2_REG_FULL_CAP   0x35
#define BATTMON2_REG_R_COMP_0   0x38
#define BATTMON2_REG_TEMP_CO   0x39
#define BATTMON2_REG_V_EMPTY   0x3A
#define BATTMON2_REG_F_STAT   0x3D
#define BATTMON2_REG_TIMER   0x3E
#define BATTMON2_REG_SHDN_TIMER   0x3F
#define BATTMON2_REG_QR_TABLE_30   0x42
#define BATTMON2_REG_R_GAIN   0x43
#define BATTMON2_REG_DQ_ACC   0x45
#define BATTMON2_REG_DP_ACC   0x46
#define BATTMON2_REG_CONVG_CFG   0x49
#define BATTMON2_REG_V_F_REM_CAP   0x4A
#define BATTMON2_REG_QH   0x4D
#define BATTMON2_REG_SOFT_WAKEUP   0x60
#define BATTMON2_REG_STATUS_2   0xB0
#define BATTMON2_REG_POWER   0xB1
#define BATTMON2_REG_ID_USER_MEM_2   0xB2
#define BATTMON2_REG_AVG_POWER   0xB3
#define BATTMON2_REG_I_ALRT_TH   0xB4
#define BATTMON2_REG_TTF_CFG   0xB5
#define BATTMON2_REG_C_V_MIX_CAP   0xB6
#define BATTMON2_REG_C_V_HALF_TIME   0xB7
#define BATTMON2_REG_C_G_TEMP_CO   0xB8
#define BATTMON2_REG_CURVE   0xB9
#define BATTMON2_REG_HIB_CFG   0xBA
#define BATTMON2_REG_CONFIG_2   0xBB
#define BATTMON2_REG_V_RIPPLE   0xBC
#define BATTMON2_REG_RIPPLE_CFG   0xBD
#define BATTMON2_REG_TIMER_H   0xBE
#define BATTMON2_REG_R_SENSE_USER_MEM_3   0xD0
#define BATTMON2_REG_SC_OCV_LIM   0xD1
#define BATTMON2_REG_V_GAIN   0xD2
#define BATTMON2_REG_SOC_HOLD   0xD3
#define BATTMON2_REG_MAX_PEAK_POWER   0xD4
#define BATTMON2_REG_SUS_PEAK_POWER   0xD5
#define BATTMON2_REG_PACK_RESISTANCE   0xD6
#define BATTMON2_REG_SYS_RESISTANCE   0xD7
#define BATTMON2_REG_MIN_SYS_VOLTAGE   0xD8
#define BATTMON2_REG_MPP_CURRENT   0xD9
#define BATTMON2_REG_SPP_CURRENT   0xDA
#define BATTMON2_REG_MODEL_CFG   0xDB
#define BATTMON2_REG_AT_Q_RESIDUAL   0xDC
#define BATTMON2_REG_AT_TTE   0xDD
#define BATTMON2_REG_AT_AV_SOC   0xDE
#define BATTMON2_REG_AT_AV_CAP   0xDF
#define BATTMON2_CAPACITY_RESOLUTION   0.5
 BATT-MON 2 standard resolutions.
#define BATTMON2_PERCENTAGE_RESOLUTION   ( 1.0 / 256.0 )
#define BATTMON2_VOLTAGE_RESOLUTION   ( 1.25 / 16.0 )
#define BATTMON2_CURRENT_RESOLUTION   0.15625
#define BATTMON2_TEMPERATURE_RESOLUTION   ( 1.0 / 256.0 )
#define BATTMON2_TIME_RESOLUTION   5.625
#define BATTMON2_DEVICE_ID   0x4039
 BATT-MON 2 device ID value.
#define BATTMON2_SET_DEV_ADDR   0x36
 BATT-MON 2 device address setting.
#define BATTMON2_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  battmon2_return_value_t { BATTMON2_OK = 0 , BATTMON2_ERROR = -1 }
 BATT-MON 2 Click return value data. More...

Functions

void battmon2_cfg_setup (battmon2_cfg_t *cfg)
 BATT-MON 2 configuration object setup function.
err_t battmon2_init (battmon2_t *ctx, battmon2_cfg_t *cfg)
 BATT-MON 2 initialization function.
err_t battmon2_generic_write (battmon2_t *ctx, uint8_t reg, uint16_t *tx_buf, uint8_t tx_len)
 BATT-MON 2 I2C writing function.
err_t battmon2_generic_read (battmon2_t *ctx, uint8_t reg, uint16_t *rx_buf, uint8_t rx_len)
 BATT-MON 2 I2C reading function.
err_t battmon2_write_register (battmon2_t *ctx, uint8_t reg, uint16_t data_in)
 BATT-MON 2 write register function.
err_t battmon2_read_register (battmon2_t *ctx, uint8_t reg, uint16_t *data_out)
 BATT-MON 2 read register function.
err_t battmon2_check_communication (battmon2_t *ctx)
 BATT-MON 2 check communication function.
uint8_t battmon2_get_alert_pin (battmon2_t *ctx)
 BATT-MON 2 get alert pin function.
err_t battmon2_get_die_temperature (battmon2_t *ctx, float *temperature)
 BATT-MON 2 get die temperature function.
err_t battmon2_get_battery_capacity (battmon2_t *ctx, float *capacity)
 BATT-MON 2 get battery capacity function.
err_t battmon2_get_battery_percentage (battmon2_t *ctx, float *percentage)
 BATT-MON 2 get battery percentage function.
err_t battmon2_get_battery_voltage (battmon2_t *ctx, float *voltage)
 BATT-MON 2 get battery voltage function.
err_t battmon2_get_battery_current (battmon2_t *ctx, float *current)
 BATT-MON 2 get battery current function.
err_t battmon2_get_battery_tte (battmon2_t *ctx, uint32_t *time_to_empty)
 BATT-MON 2 get battery tte function.
err_t battmon2_get_battery_ttf (battmon2_t *ctx, uint32_t *time_to_full)
 BATT-MON 2 get battery ttf function.

Detailed Description

This file contains API for BATT-MON 2 Click Driver.

Enumeration Type Documentation

◆ battmon2_return_value_t

BATT-MON 2 Click return value data.

Predefined enum values for driver return values.

Enumerator
BATTMON2_OK 
BATTMON2_ERROR